package com.uzai.console.service.jd;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.jd.jdorder.*;
import com.uzai.console.dto.tb.tborder.TbOrderDto;
import com.uzai.console.vo.jd.jdorder.JdOrderInfoVo;
import com.uzai.console.vo.jd.jdorder.JdOrderReportVo;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface JdOrderService {

    /**
     * 查询京东订单列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderQuery
     * @return null
     */
    Page<JdOrderInfoVo> findJdOrderList(JdOrderQuery jdOrderQuery);

    /**
     * 查询京东订单详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderIdDto
     * @return null
     */
    JdOrderInfoVo findJdOrderInfo(JdOrderIdDto jdOrderIdDto);

    /**
     * 查询京东订单统计信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderQuery
     * @return null
     */
    JdOrderReportVo findJdOrderReport(JdOrderQuery jdOrderQuery);

    /**
     * 京东订单删除-假删除（修改是否删除状态）
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderDelDto
     * @return null
     */
    Boolean delJdOrder(JdOrderDelDto jdOrderDelDto);

    /**
     * 订单确认收货
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderIdDto
     * @return null
     */
    Boolean confirmReceive(JdOrderIdDto jdOrderIdDto);

    /**
     * 订单手动维权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderIdDto
     * @return null
     */
    Boolean confirmRefund(JdOrderIdDto jdOrderIdDto);

    /**
     * 订单冻结
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderIdDto
     * @return null
     */
    Boolean confirmFrozen(JdOrderIdDto jdOrderIdDto);

    /**
     * 订单解冻
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderIdDto
     * @return null
     */
    Boolean confirmThaw(JdOrderIdDto jdOrderIdDto);

    /**
     * 订单解绑用户
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderUnbindUserDto
     * @return null
     */
    Boolean unbindUser(JdOrderUnbindUserDto jdOrderUnbindUserDto);

    /**
     * 订单绑定用户
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderBindUserDto
     * @return null
     */
    Boolean bindUser(JdOrderBindUserDto jdOrderBindUserDto);

    /**
     * 修改解冻时间
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderThawTimeDto
     * @return null
     */
    Boolean updateThawTime(JdOrderThawTimeDto jdOrderThawTimeDto);

    /**
     * 手动下载京东订单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderDownLoadDto
     * @return null
     */
    void downloadOrder(JdOrderDownLoadDto jdOrderDownLoadDto);

    /**
     * 通过API手动下载京东订单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderApiDownLoadDto
     * @return null
     */
    void downloadOrderApi(JdOrderApiDownLoadDto jdOrderApiDownLoadDto);

    /**
     * 刷新京东订单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderIdDto
     * @return null
     */
    void refreshOrder(JdOrderIdDto jdOrderIdDto);

    /**
     * 查询所有未绑定用户订单列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderUnbindDtoQuery
     * @return null
     */
    Page<JdOrderInfoVo> findUnbindUserList(JdOrderUnbindDtoQuery jdOrderUnbindDtoQuery);

    /**
     * 查询所有未绑定用户订单统计信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderUnbindDtoQuery
     * @return null
     */
    JdOrderReportVo findUnbindUserReport(JdOrderUnbindDtoQuery jdOrderUnbindDtoQuery);

    /**
     * 删除所有未绑定用户订单列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderDeleteUnbindDto
     * @return null
     */
    Boolean deleteUnbindUserList(JdOrderDeleteUnbindDto jdOrderDeleteUnbindDto);

    /**
     * 追回返利
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param jdOrderIdDto
     * @return null
     */
    Boolean rebateRefound(JdOrderIdDto jdOrderIdDto);

}
